package com.cxyd.modules.wcs.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.cxyd.common.service.impl.CrudServiceImpl;
import com.cxyd.common.utils.ConvertUtils;
import com.cxyd.common.utils.ProcResult;
import com.cxyd.common.utils.StringUtils;
import com.cxyd.modules.wcs.dao.ContDao;
import com.cxyd.modules.wcs.dto.ContDTO;
import com.cxyd.modules.wcs.entity.ContEntity;
import com.cxyd.modules.wcs.service.ContService;
import org.springframework.stereotype.Service;

import java.util.Map;

@Service
public class ContServiceImpl extends CrudServiceImpl<ContDao, ContEntity, ContDTO> implements ContService {
    @Override
    public QueryWrapper<ContEntity> getWrapper(Map<String, Object> params) {
        String contNo = (String) params.get("contNo");
        String contType = (String) params.get("contType");
        String pinNo = (String) params.get("pinNo");
        QueryWrapper<ContEntity> wrapper = new QueryWrapper<>();
        wrapper.eq(StringUtils.isNotBlank(contNo), "cont_no", contNo);
        wrapper.eq(StringUtils.isNotBlank(contType), "cont_type", contType);
        wrapper.like(StringUtils.isNotBlank(pinNo), "pin_no", pinNo);
        return wrapper;
    }

    @Override
    public ProcResult updateCont(ContDTO dto) {
        if (dto == null) {
            return new ProcResult().result("cont_update_001", "参数错误");
        }
        ContEntity newCont = ConvertUtils.sourceToTarget(dto, ContEntity.class);
        newCont.setComments("人为修改料架车型号");
        baseDao.updateById(newCont);
        return new ProcResult().result("0", "料架车更新完成！");
    }
}
